﻿namespace YAPACS.RisServer.Services.Dtos
{
    public class ExamDto
    {
        public Guid Oid { get; set; }
        /// <summary>
        /// 检查号
        /// </summary>
        public string AccessionNumber { get; set; }

        /// <summary>
        /// 患者
        /// </summary>
        public PatientDto Patient { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int AgeValue { get; set; }

        /// <summary>
        /// 年龄单位
        /// </summary>
        public int AgeUnit { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public string Age { get; set; }

        /// <summary>
        /// 身高
        /// </summary>
        public int Height { get; set; }

        /// <summary>
        /// 体重
        /// </summary>
        public int Weight { get; set; }

        /// <summary>
        /// BMI
        /// </summary>
        public string BMI { get; set; }

        /// <summary>
        /// 患者来自
        /// </summary>
        public Guid? PatientFrom { get; set; }

        /// <summary>
        /// 患者类型
        /// </summary>
        public Guid? PatientType { get; set; }
        /// <summary>
        /// 体检号
        /// </summary>
        public string PhysicalExamNumber { get; set; }

        /// <summary>
        /// 门诊号
        /// </summary>
        public string OutPatientNumber { get; set; }

        /// <summary>
        /// 住院号
        /// </summary>
        public string InPatientNumber { get; set; }

        /// <summary>
        /// 病区
        /// </summary>
        public string InPatientArea { get; set; }

        /// <summary>
        /// 病房号
        /// </summary>
        public string WardNumber { get; set; }

        /// <summary>
        /// 床位号
        /// </summary>
        public string BedNumber { get; set; }

        /// <summary>
        /// 申请医生
        /// </summary>
        public Guid? ApplyDoctor { get; set; }

        /// <summary>
        /// 申请科室
        /// </summary>
        public Guid? ApplyDepartment { get; set; }

        /// <summary>
        /// 申请日期
        /// </summary>
        public DateTime? ApplyTime { get; set; }
        /// <summary>
        /// 临床诊断
        /// </summary>
        public string ClinicalDiagnosis { get; set; }

        /// <summary>
        /// 从事职业
        /// </summary>
        public Guid? Profession { get; set; }

        /// <summary>
        /// 婚姻状况
        /// </summary>
        public Guid? MaritalStatus { get; set; }

        /// <summary>
        /// 月经史
        /// </summary>
        public string MenstrualHistory { get; set; }

        /// <summary>
        /// 末次月经
        /// </summary>
        public DateTime? LastMenstruationDate { get; set; }

        /// <summary>
        /// 孕周
        /// </summary>
        public string GestationalWeek { get; set; }

        /// <summary>
        /// 预产期
        /// </summary>
        public DateTime? ChildbirthDate { get; set; }

        /// <summary>
        /// 是否怀孕
        /// </summary>
        public bool IsPregnancy { get; set; }

        /// <summary>
        /// 检查备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 检查方法
        /// </summary>
        public List<ExamMethodDto> ExamMethods { get; set; }

        public string ExamMethodsString { get; set; }

        /// <summary>
        /// 检查方法文本
        /// </summary>
        public string ExamMethodsText { get; set; }

        /// <summary>
        /// 检查部位
        /// </summary>
        public List<ExamBodyPartyDto> ExamBodyParties { get; set; }

        /// <summary>
        /// 检查部位
        /// </summary>
        public string ExamBodyPartiesText { get; set; }

        /// <summary>
        /// 检查项目
        /// </summary>
        public List<ExamItemDto> ExamItems { get; set; }

        /// <summary>
        /// 检查项目
        /// </summary>
        public string ExamItemsText { get; set; }

        /// <summary>
        /// 注意事项
        /// </summary>
        public List<PatientMatterDto> PatientMatters { get; set; }

        /// <summary>
        /// 患者特征
        /// </summary>
        public List<PatientFeatureDto> PatientFeatures { get; set; }

        /// <summary>
        /// 检查备注
        /// </summary>
        public List<ExamRemakDto> ExamRemarks { get; set; }

        /// <summary>
        /// 检查状态
        /// </summary>
        public int ExamStatus { get; set; }

        /// <summary>
        /// 急诊患者
        /// </summary>
        public bool IsEmergency { get; set; }

        /// <summary>
        /// 检查设备
        /// </summary>
        public Guid? ExamDevice { get; set; }

        /// <summary>
        /// 检查设备名称
        /// </summary>
        public string ExamDeviceName { get; set; }

        /// <summary>
        /// 检查站点名称
        /// </summary>
        public string ExamStationName { get; set; }

        /// <summary>
        /// 检查诊室名称
        /// </summary>
        public string ExamRoomName { get; set; }

        /// <summary>
        /// 使用设备复合名
        /// </summary>
        public bool UseDeviceCompoundName { get; set; }

        /// <summary>
        /// 是否为视频设备
        /// </summary>
        public bool IsVideoDevice { get; set; }

        /// <summary>
        /// 设备类型
        /// </summary>
        public Guid? DeviceType { get; set; }

        /// <summary>
        /// 设备类型文本
        /// </summary>
        public string DeviceTypeText { get; set; }

        /// <summary>
        /// 预约计划
        /// </summary>
        public Guid? AppointmentPlan { get; set; }

        /// <summary>
        /// 当前计划的日期
        /// </summary>
        public string AppointmentDate { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string AppointmentName { get; set; }

        public string AppointmentNumber { get; set; }

        /// <summary>
        /// 检查助手
        /// </summary>
        public Guid? ExamHelper { get; set; }

        /// <summary>
        /// 检查助手2
        /// </summary>
        public Guid? ExamHelper2 { get; set; }


        /// <summary>
        /// 检查助手3
        /// </summary>
        public Guid? ExamHelper3 { get; set; }

        /// <summary>
        /// 检查技师
        /// </summary>
        public Guid? ExamOperator { get; set; }


        /// <summary>
        /// 检查类别
        /// </summary>
        public Guid? ExamCategory { get; set; }

        /// <summary>
        /// 预约时间
        /// </summary>
        public DateTime? AppointmentTime { get; set; }

        /// <summary>
        /// 敏感患者
        /// </summary>
        public bool IsSensitive { get; set; }

        /// <summary>
        /// 危重患者
        /// </summary>
        public bool IsCritical { get; set; }

        /// <summary>
        ///预约患者
        /// </summary>
        public bool IsAppointment { get; set; }

        /// <summary>
        /// 过敏史
        /// </summary>
        public string AllergyHistory { get; set; }

        /// <summary>
        /// 患者主诉
        /// </summary>
        public string ChiefComplaint { get; set; }

        /// <summary>
        /// 现病史
        /// </summary>
        public string MedicalHistory { get; set; }

        /// <summary>
        /// 病案号
        /// </summary>
        public string MedicalRecordNumber { get; set; }

        /// <summary>
        /// 发票号
        /// </summary>
        public string InvoiceNumber { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        public string BillNumber { get; set; }

        /// <summary>
        /// 申请单号
        /// </summary>
        public string ApplyNumber { get; set; }

        /// <summary>
        /// 就诊卡号
        /// </summary>
        public string MedicalCardNumber { get; set; }
        /// <summary>
        /// 报告
        /// </summary>
        public ReportDto Report { get; set; }

        /// <summary>
        /// 权限数组
        /// </summary>
        public string[] Permissions { get; set; }

        /// <summary>
        /// 会诊患者
        /// </summary>
        public bool IsConsultation { get; set; }

        public bool IsShared { get; set; }

        public string SharedSign { get; set; }

        public int SharedLevel { get; set; }

        /// <summary>
        /// 专家组
        /// </summary>
        public string ExpertGroup { get; set; }

        public int DeviceCount { get; set; }
    }
}
